// MIR for `slice_index_usize` after PreCodegen

fn slice_index_usize(_1: &[u32], _2: usize) -> u32 {
    debug slice => _1;                   // in scope 0 at $DIR/slice_index.rs:+0:26: +0:31
    debug index => _2;                   // in scope 0 at $DIR/slice_index.rs:+0:41: +0:46
    let mut _0: u32;                     // return place in scope 0 at $DIR/slice_index.rs:+0:58: +0:61
    let mut _3: usize;                   // in scope 0 at $DIR/slice_index.rs:+1:5: +1:17
    let mut _4: bool;                    // in scope 0 at $DIR/slice_index.rs:+1:5: +1:17

    bb0: {
        _3 = Len((*_1));                 // scope 0 at $DIR/slice_index.rs:+1:5: +1:17
        _4 = Lt(_2, _3);                 // scope 0 at $DIR/slice_index.rs:+1:5: +1:17
        assert(move _4, "index out of bounds: the length is {} but the index is {}", move _3, _2) -> bb1; // scope 0 at $DIR/slice_index.rs:+1:5: +1:17
    }

    bb1: {
        _0 = (*_1)[_2];                  // scope 0 at $DIR/slice_index.rs:+1:5: +1:17
        return;                          // scope 0 at $DIR/slice_index.rs:+2:2: +2:2
    }
}
